package com.haircut.mapper;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 微信用户实体（表名自动拼接前缀t_haircut_）
 */
@Data
@TableName("t_haircut_wechat_user")  // 实际表名：t_haircut_wechat_user（由全局配置自动添加前缀）
public class WechatUser {

    @TableId(type = IdType.AUTO)
    private Long id;

    private String openid;  // 微信唯一标识

    private String unionid;  // 多平台统一标识

    private String nickname;  // 微信昵称

    private String avatar;  // 微信头像

    /**
     * 角色类型：
     * ADMIN - 管理员
     * BARBER - 理发师
     * CUSTOMER - 客户
     */
    private String userType;
    private BigDecimal balance;
    private String remark;
    private String realName;
    private String phone;  // 绑定手机号（可选）

    private Integer status;  // 状态：0-禁用，1-正常

    @TableField(fill = FieldFill.INSERT)  // 插入时自动填充
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private LocalDateTime lastLoginTime;  // 最后登录时间
}